1. Field of the Invention
The present invention relates to the field of communication systems. More specifically, the present invention relates to communication networks involving quality of service (xe2x80x9cQoSxe2x80x9d).
2. Description of the Related Art
A network communication is a collection of computers and other system devices such as printers and servers that are linked together over distances for sharing of resources. A Local Area Network (xe2x80x9cLANxe2x80x9d) is a typical network communication system, which allows a number of independent source and destination devices to communicate with each other within a moderately sized geographical area. A wide area network (xe2x80x9cWANxe2x80x9d) is another network communication system that serves individual users over a large geographical area.
FIG. 1 illustrates a conventional network system 100, which could be either LAN or WAN. The system 100 contains workstations, hubs, bridges, switches and routers. A workstation is typically considered as one node in a network and is normally a processing based computing system, such as a personal computer (xe2x80x9cPCxe2x80x9d), a mini-computer or a mainframe. Switches, (multiport bridges) are typically used as network bridging devices between the workstations and network routers for enhancing network performance. For example, switch X 110 is connected to workstation B 130, C 132 and D 134 where the switch X 110 is used as a bridging device between the workstation B130, C132 and D134 and network routers 120.
In general, switches do not perform the functions of scale and partition. Partition refers to dividing the workload between clients and servers. Scalability refers to the ability of network growth as the demand increases. On the other hand, routers is usually capable of performing the functions of scale and partition.
Using network switches as bridging devices generally provide greater network performance. Each switch typically stores addresses of workstations connected to the switch so that it can identify and access the connected workstations rapidly. For example, switch Y 114 stores the addresses of workstation E 136, F 138, and G 139 so that switch Y 114 can deliver and pickup data to and from the workstations E 136, F 138, and G 139. Moreover, a switch is further configured to be connected to a set of network routers. For example, the switch X 110 is connected to router P 122 and switch Y 114 is connected to router R 126.
A typical network router, such as router P 122, provides logical connections between workstations or switches using common network protocols. Routers are typically operated under asynchronous transfer mechanism (xe2x80x9cATMxe2x80x9d) or other technologies. Each router usually knows the address of the destination node or knows how to find the destination node. It should be noted that workstations may also be connected to a router directly, such as workstation A 102.
In operation, upon a request of data transaction in a network, a path of data flow between a source and destination nodes is established. For example, if the workstation B 130 sends a message to the workstation E 136, the workstation B 130 requests switch X 110 to find the destination node, which is workstation E 136. If switch X 110 does not contain the requested information, switch X 100 subsequently passes the request to router P 122 for locating the destination node. After several hops between the routers, router R 126 identifies switch Y 114, which contains the destination node. After locating of the destination node, switch Y 114 delivers the message to workstation E 136.
FIG. 2 illustrates a conventional networking software 200 where the networking software 200 typically reflects a stacking system. The networking software 200 is an Open System Interconnection (OSI) system, which commonly divides network communication activities into seven layers. Layer one of the OSI is a physical level, which is a hardware layer involving transmitting data across the physical transmission medium.
Layer two of the OSI is a data link level 272, which is a switching level involving data packaging for network transmission. The data link level 272 further identifies source and destination addresses. Layer three is a network level 274 where data packets are addressed and delivered between nodes. The network level 274 further manages routing information for the routers.
Layer four is a transport level 276 where data is sent and received between the nodes. The transport level 276 further issues transporting error message for lost data. Layer five is a session level 278, which essentially establishes, maintains, and concludes a network communication between the nodes.
Layer six is a presentation level 280 where data translation between different systems is provided. In other words, the presentation level 280 translates data to and from a system""s native data format. Layer seven is an application level 282, which is used to interface with application programs. It should be noted that not every networking software is configured into seven layers.
Moreover, switches (or multiport bridges) are commonly employed at the data link level 272, which performs bridging functions for transferring data. Likewise, routers are typically used at the network level 274 where routing functions are performed between the routers. In general, the rate of data transfer for a typical switch is many times faster than a typical router.
Thus, increase in activities in layer two will likely increase the network""s overall performance.
FIG. 3 illustrates a conventional network communication system 300. The system 300 contains switch A 204, B 206, router A 214, B 216 and virtual circuits (VCs). VCs are typically established by common ATM signaling system or by same network management entity. Upon initiation of a network communication, a VC is commonly set up between a message""s origin and destination.
Switch A 204 contains workstation A 222, B 224, C 226, and D 228 while switch B 206 contains workstation W 232, X 234, Y236, and Z 238. It should be noted that there could be more routers situated between router A 214 and router B 216.
Upon requesting a data transfer between workstation A 222 and workstation W 232, a path of data flow between workstation A 222 and workstation W 232 is established. FIG. 3 shows a typical path of data flow where the path starts at switch A 204 and ends at switch B 206, having passed through router A 214 and router B 216. VC 240 is used to transport the data between switch A 204 and router A 214, while VC 242 is used to transport the data between router A 214 and router B 216. VCs are commonly point to point intelligent links. Different levels of VC services are employed at different connections, such as a switch to switch connection or a router to router connection. It should be noted that a router can typically transfer between 100,000 to 300,000 packets per second (pp.), whereas a typical switch can transfer between 1,000,000 to 1,500,000 pps. Accordingly, increasing in switch to switch transfer enhances the network overall performance.
Multi-Protocol over ATM (MPOA) is one approach to enhance the network performance relating to network switch. MPOA, which commonly operates under the ATM forum specification, is configured to set up a connection or a shortcut VC between switches bypassing routers after a destination node is found. In order to set up a connection between switches, MPOA typically initiates a process that involves detecting a communication flow, issuing an address resolution request, and setting up a connection.
However, a problem with this approach is that for establishing each new shortcut VC between the same source and destination pair for a different QoS level, the same process must be followed. Repeating the same process for different QoS level is expensive in terms of time and resources. Accordingly, it is desirable to have a mechanism that establishes multiple connections or VC shortcuts for all levels of QoS as soon as a destination node is determined. As will be seen, one embodiment of the present invention provides a mechanism that establishes multiple switch to switch connections upon identifying the destination node where each individual connection is used for each level of QoS.
A method and a system for improving communication performance between nodes in a network is disclosed. In one embodiment, the system includes routers, switches, and a switch connecting scheme (SCS). The SCS detects a communication flow between a source and destination nodes in response to a flow criteria. A communication flow includes at least a source and a destination address where the address is an Internet Protocol (IP) address. A flow criteria could be any set of predefined triggering conditions.
Upon detecting the communication flow, the SCS issues a resolution request for identifying a data path. After receipt of a response to the resolution request, multiple switch to switch connections are established in response to all levels of quality of service (QoS). In another embodiment, after establishing the multiple switch to switch connections, all workstations associated with the connected switches can use the connections. In yet another embodiment, upon discovery of unnecessary switch to switch connections, the SCS eliminates the unnecessary connections according to a torn-down criteria.